package com.zhongge.biginteger;

import java.math.BigInteger;

/**
 * @ClassName BigNumberTest
 * @Description TODO
 * 1.BigInteger 是java.math包下的
 * 2.BigInteger 是父类是 Number
 * 3.BigInteger 是引用数据类型
 * @Author zhongge
 * @Version 1.0
 */
public class BigNumberTest {
    public static void main(String[] args) {
        //首先：如果数据的表示范围超过了long类型，那么该怎么办呢？
        //不用太当心，java给我们提供了一个大整数类，但是该类很少用到
        long num1 = 999999999999999999L;
//        long num2 = 9999999999999999999L;//超出范围

        //使用大整数类，他的构造方法是将数字字符串变为数字对象
        BigInteger bigNum1 = new BigInteger("9999999999999999999");//不会报错！！！
        BigInteger bigNum2 = new BigInteger("1");

        //加法
        BigInteger bigInteger1 = bigNum1.add(bigNum2);
        System.out.println(bigInteger1);
        //减法
        BigInteger bigInteger2 = bigNum1.subtract(bigNum2);
        System.out.println(bigInteger2);
        //乘法
        BigInteger bigInteger3 = bigNum1.multiply(bigNum2);
        System.out.println(bigInteger3);
        //除法
        BigInteger bigInteger4 = bigNum1.divide(bigNum2);
        System.out.println(bigInteger4);
    }
}
